package com.xwh.week5;

public class Pr_3 {
    static boolean[] exit=new boolean[10];
    static int[] array=new int[10];
    static long res=0;
    public static void main(String[] args) {
        dfs(0,0);
        System.out.println(res);
    }
    public static void dfs(int step,long sum){
        if(step==array.length){
        //判断；
            if(check(array)){
                res=res+sum;
            }
            return;
        }
        for(int i=0;i<10;i++){
            if(!exit[i]){
               sum=sum*10+i;
               array[step]=i;
               exit[i]=true;
               dfs(step+1,sum);
               sum/=10;
               exit[i]=false;
            }
        }
        return;
    }
    public static boolean check(int[] array){
        int ans=0;
        for(int i=1;i<4;i++){
            ans=ans*10+array[i];
        }if((ans=ans%2)!=0) return false;
        for (int i=2;i<5;i++){
            ans=ans*10+array[i];
        }if((ans=ans%3)!=0) return false;
        for(int i=3;i<6;i++){
            ans=ans*10+array[i];
        } if((ans=ans%5)!=0) return false;
        for(int i=4;i<7;i++){
            ans=ans*10+array[i];
        } if((ans=ans%7)!=0) return false;
        for(int i=5;i<8;i++){
            ans=ans*10+array[i];
        } if((ans=ans%11)!=0) return false;
        for (int i=6;i<9;i++){
            ans=ans*10+array[i];
        } if((ans=ans%13)!=0) return false;
        for(int i=7;i<10;i++){
            ans=ans*10+array[i];
        }if((ans=ans%17)!=0) return false;
        return true;
    }
}
